在開始動手寫一個和股市有關的小專案前,最大的問題常常不是程式碼,而是「我要去哪裡拿到股市的資料?」。如果缺乏數據,就好像想做菜卻沒有食材一樣,根本下不了手。幸好,現在有許多公開的 免費 API 免費的最香 可以讓我們快速取得股票、指數與財經相關資訊。今天,我就要整理出 3 個新手友善又免費的股市 API ,讓大家能夠直接拿來練習,甚至打造成簡單的應用程式。
特色:全球股票、指數、加密貨幣資料都有
免費程度:基本使用免費,請求量有限制
取得方式:透過 yahoo-finance2 這個 NPM 套件
範例程式碼(Node.js):
js
import yahooFinance from "yahoo-finance2";
const query = "AAPL"; // Apple 股票代號
const result = await yahooFinance.quote(query);
console.log(result);
接著就可以在終端機執行:
bash
node index.js
接著就能夠拿到很多看不太懂的數據了
這樣就能直接拿到 Apple 的即時股價與相關資訊,像是開盤價、最高價、成交量等,非常適合用來做資料展示。
特色:支援股票、外匯、加密貨幣
免費程度:註冊即可取得 API Key,每分鐘 5 次請求
範例程式碼:
JS
import fetch from "node-fetch";
const API_KEY = "你的API金鑰";
const symbol = "TSLA"; // Tesla
const url = `https://www.alphavantage.co/query?function=TIME_SERIES_DAILY&symbol=${symbol}&apikey=${API_KEY}`;
const response = await fetch(url);
const data = await response.json();
console.log(data);
Alpha Vantage 特別適合用來分析「歷史數據」,例如日線或週線的股價走勢,非常方便做圖表應用。
特色:台灣本地股市官方數據,包含每日收盤行情、成交量等
免費程度:完全免費,直接透過 API URL 即可存取
網址:https://www.twse.com.tw/zh/page/trading/exchange/STOCK_DAY.html
範例程式碼:
JS
import fetch from "node-fetch";
const stockNo = "2330"; // 台積電
const date = "20250101"; // 查詢日期 (YYYYMMDD)
const url = `https://www.twse.com.tw/exchangeReport/STOCK_DAY?response=json&date=${date}&stockNo=${stockNo}`;
const response = await fetch(url);
const data = await response.json();
console.log(data);
這個 API 特別適合練習「台股數據」應用,像是計算月平均價、繪製成交量長條圖,甚至做台股分析小工具。
在這篇文章中,我們學到 3 個常見的股市免費 API:
Yahoo Finance:簡單好用,適合快速查即時股價
Alpha Vantage:功能齊全,適合歷史數據與技術分析
TWSE 臺灣證交所:官方來源,專門用於台股
這些 API 幾乎涵蓋了常見的需求:即時報價、歷史資料、台股專用。從今天開始,就能用 Node.js 串接這些資料,為未來的專案準備好養分。
👉 明天(Day 3),我們將安裝 npm 與環境設定,就可以真正開始撰寫第一個能抓股市資料的 Node.js 程式!